package com.pf.dto;

import com.pf.common.annotation.ExcelAccountMark;
import com.pf.common.annotation.ExcelCheckDate;
import com.pf.common.annotation.ExcelDropDownOptionMark;
import com.pf.common.annotation.ExcelIdMark;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;

/**
 * 审核任务
 *
 * @author PanFei
 * @version 1.0.0
 * @createTime 2022/11/27 15:59
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AuditTaskDO {

    /**
     * ID
     */
    @ExcelIdMark(message = "【ID】{0}不存在或已删除；")
    private String taskCode;

    /**
     * 审核准则名称
     */
    @NotEmpty(message = "【审核准则名称】不能为空；")
    @ExcelDropDownOptionMark(message = "【审核准则名称】【{0}】不在下拉选项中；")
    private String criteriaName;

    /**
     * 审核准则类型
     */
    @NotEmpty(message = "【审核准则类型】不能为空；")
    @ExcelDropDownOptionMark(message = "【审核准则类型】【{0}】不在下拉选项中；")
    private String criteriaType;

    /**
     * 迎审人
     */
    @NotEmpty(message = "【迎审人】不能为空；")
    @ExcelAccountMark(message = "【迎审人】【{0}】不是w3账号或已离职；")
    private String greeter;

    /**
     * 审核员
     */
    @NotEmpty(message = "【审核员】不能为空；")
    @ExcelAccountMark(message = "【审核员】【{0}】不是w3账号或已离职；")
    private String reviewPerson;

    /**
     * 计划完成日期
     */
    @NotEmpty(message = "【计划完成日期】不能为空；")
    @ExcelCheckDate(message = "【计划完成日期】格式不正确；")
    private String planFinishDate;

    /**
     * 检查项
     */
    @NotEmpty(message = "【检查项】不能为空；")
    private String checkItem;

}
